package fr.esir.imse.mapping.parser.antlr.internal; 

import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
import fr.esir.imse.mapping.services.MappingDSLGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalMappingDSLParser extends AbstractInternalAntlrParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "':'", "'checkbox'", "'radiobutton'"
    };
    public static final int RULE_ID=4;
    public static final int RULE_STRING=6;
    public static final int T__12=12;
    public static final int T__11=11;
    public static final int T__13=13;
    public static final int RULE_ANY_OTHER=10;
    public static final int RULE_INT=5;
    public static final int RULE_WS=9;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;

    // delegates
    // delegators


        public InternalMappingDSLParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalMappingDSLParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalMappingDSLParser.tokenNames; }
    public String getGrammarFileName() { return "../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g"; }



     	private MappingDSLGrammarAccess grammarAccess;
     	
        public InternalMappingDSLParser(TokenStream input, MappingDSLGrammarAccess grammarAccess) {
            this(input);
            this.grammarAccess = grammarAccess;
            registerRules(grammarAccess.getGrammar());
        }
        
        @Override
        protected String getFirstRuleName() {
        	return "Mapping";	
       	}
       	
       	@Override
       	protected MappingDSLGrammarAccess getGrammarAccess() {
       		return grammarAccess;
       	}



    // $ANTLR start "entryRuleMapping"
    // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:67:1: entryRuleMapping returns [EObject current=null] : iv_ruleMapping= ruleMapping EOF ;
    public final EObject entryRuleMapping() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleMapping = null;


        try {
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:68:2: (iv_ruleMapping= ruleMapping EOF )
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:69:2: iv_ruleMapping= ruleMapping EOF
            {
             newCompositeNode(grammarAccess.getMappingRule()); 
            pushFollow(FOLLOW_ruleMapping_in_entryRuleMapping75);
            iv_ruleMapping=ruleMapping();

            state._fsp--;

             current =iv_ruleMapping; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMapping85); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleMapping"


    // $ANTLR start "ruleMapping"
    // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:76:1: ruleMapping returns [EObject current=null] : ( (lv_questions_0_0= ruleQuestion ) )* ;
    public final EObject ruleMapping() throws RecognitionException {
        EObject current = null;

        EObject lv_questions_0_0 = null;


         enterRule(); 
            
        try {
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:79:28: ( ( (lv_questions_0_0= ruleQuestion ) )* )
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:80:1: ( (lv_questions_0_0= ruleQuestion ) )*
            {
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:80:1: ( (lv_questions_0_0= ruleQuestion ) )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( (LA1_0==RULE_ID) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:81:1: (lv_questions_0_0= ruleQuestion )
            	    {
            	    // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:81:1: (lv_questions_0_0= ruleQuestion )
            	    // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:82:3: lv_questions_0_0= ruleQuestion
            	    {
            	     
            	    	        newCompositeNode(grammarAccess.getMappingAccess().getQuestionsQuestionParserRuleCall_0()); 
            	    	    
            	    pushFollow(FOLLOW_ruleQuestion_in_ruleMapping130);
            	    lv_questions_0_0=ruleQuestion();

            	    state._fsp--;


            	    	        if (current==null) {
            	    	            current = createModelElementForParent(grammarAccess.getMappingRule());
            	    	        }
            	           		add(
            	           			current, 
            	           			"questions",
            	            		lv_questions_0_0, 
            	            		"Question");
            	    	        afterParserOrEnumRuleCall();
            	    	    

            	    }


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleMapping"


    // $ANTLR start "entryRuleQuestion"
    // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:106:1: entryRuleQuestion returns [EObject current=null] : iv_ruleQuestion= ruleQuestion EOF ;
    public final EObject entryRuleQuestion() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleQuestion = null;


        try {
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:107:2: (iv_ruleQuestion= ruleQuestion EOF )
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:108:2: iv_ruleQuestion= ruleQuestion EOF
            {
             newCompositeNode(grammarAccess.getQuestionRule()); 
            pushFollow(FOLLOW_ruleQuestion_in_entryRuleQuestion166);
            iv_ruleQuestion=ruleQuestion();

            state._fsp--;

             current =iv_ruleQuestion; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleQuestion176); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleQuestion"


    // $ANTLR start "ruleQuestion"
    // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:115:1: ruleQuestion returns [EObject current=null] : ( ( (lv_id_0_0= RULE_ID ) ) otherlv_1= ':' ( (lv_widget_2_0= ruleWidget ) ) ) ;
    public final EObject ruleQuestion() throws RecognitionException {
        EObject current = null;

        Token lv_id_0_0=null;
        Token otherlv_1=null;
        AntlrDatatypeRuleToken lv_widget_2_0 = null;


         enterRule(); 
            
        try {
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:118:28: ( ( ( (lv_id_0_0= RULE_ID ) ) otherlv_1= ':' ( (lv_widget_2_0= ruleWidget ) ) ) )
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:119:1: ( ( (lv_id_0_0= RULE_ID ) ) otherlv_1= ':' ( (lv_widget_2_0= ruleWidget ) ) )
            {
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:119:1: ( ( (lv_id_0_0= RULE_ID ) ) otherlv_1= ':' ( (lv_widget_2_0= ruleWidget ) ) )
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:119:2: ( (lv_id_0_0= RULE_ID ) ) otherlv_1= ':' ( (lv_widget_2_0= ruleWidget ) )
            {
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:119:2: ( (lv_id_0_0= RULE_ID ) )
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:120:1: (lv_id_0_0= RULE_ID )
            {
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:120:1: (lv_id_0_0= RULE_ID )
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:121:3: lv_id_0_0= RULE_ID
            {
            lv_id_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleQuestion218); 

            			newLeafNode(lv_id_0_0, grammarAccess.getQuestionAccess().getIdIDTerminalRuleCall_0_0()); 
            		

            	        if (current==null) {
            	            current = createModelElement(grammarAccess.getQuestionRule());
            	        }
                   		setWithLastConsumed(
                   			current, 
                   			"id",
                    		lv_id_0_0, 
                    		"ID");
            	    

            }


            }

            otherlv_1=(Token)match(input,11,FOLLOW_11_in_ruleQuestion235); 

                	newLeafNode(otherlv_1, grammarAccess.getQuestionAccess().getColonKeyword_1());
                
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:141:1: ( (lv_widget_2_0= ruleWidget ) )
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:142:1: (lv_widget_2_0= ruleWidget )
            {
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:142:1: (lv_widget_2_0= ruleWidget )
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:143:3: lv_widget_2_0= ruleWidget
            {
             
            	        newCompositeNode(grammarAccess.getQuestionAccess().getWidgetWidgetParserRuleCall_2_0()); 
            	    
            pushFollow(FOLLOW_ruleWidget_in_ruleQuestion256);
            lv_widget_2_0=ruleWidget();

            state._fsp--;


            	        if (current==null) {
            	            current = createModelElementForParent(grammarAccess.getQuestionRule());
            	        }
                   		set(
                   			current, 
                   			"widget",
                    		lv_widget_2_0, 
                    		"Widget");
            	        afterParserOrEnumRuleCall();
            	    

            }


            }


            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleQuestion"


    // $ANTLR start "entryRuleWidget"
    // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:167:1: entryRuleWidget returns [String current=null] : iv_ruleWidget= ruleWidget EOF ;
    public final String entryRuleWidget() throws RecognitionException {
        String current = null;

        AntlrDatatypeRuleToken iv_ruleWidget = null;


        try {
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:168:2: (iv_ruleWidget= ruleWidget EOF )
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:169:2: iv_ruleWidget= ruleWidget EOF
            {
             newCompositeNode(grammarAccess.getWidgetRule()); 
            pushFollow(FOLLOW_ruleWidget_in_entryRuleWidget293);
            iv_ruleWidget=ruleWidget();

            state._fsp--;

             current =iv_ruleWidget.getText(); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleWidget304); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleWidget"


    // $ANTLR start "ruleWidget"
    // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:176:1: ruleWidget returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_Checkbox_0= ruleCheckbox | this_RadioButton_1= ruleRadioButton ) ;
    public final AntlrDatatypeRuleToken ruleWidget() throws RecognitionException {
        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();

        AntlrDatatypeRuleToken this_Checkbox_0 = null;

        AntlrDatatypeRuleToken this_RadioButton_1 = null;


         enterRule(); 
            
        try {
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:179:28: ( (this_Checkbox_0= ruleCheckbox | this_RadioButton_1= ruleRadioButton ) )
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:180:1: (this_Checkbox_0= ruleCheckbox | this_RadioButton_1= ruleRadioButton )
            {
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:180:1: (this_Checkbox_0= ruleCheckbox | this_RadioButton_1= ruleRadioButton )
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0==12) ) {
                alt2=1;
            }
            else if ( (LA2_0==13) ) {
                alt2=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }
            switch (alt2) {
                case 1 :
                    // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:181:5: this_Checkbox_0= ruleCheckbox
                    {
                     
                            newCompositeNode(grammarAccess.getWidgetAccess().getCheckboxParserRuleCall_0()); 
                        
                    pushFollow(FOLLOW_ruleCheckbox_in_ruleWidget351);
                    this_Checkbox_0=ruleCheckbox();

                    state._fsp--;


                    		current.merge(this_Checkbox_0);
                        
                     
                            afterParserOrEnumRuleCall();
                        

                    }
                    break;
                case 2 :
                    // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:193:5: this_RadioButton_1= ruleRadioButton
                    {
                     
                            newCompositeNode(grammarAccess.getWidgetAccess().getRadioButtonParserRuleCall_1()); 
                        
                    pushFollow(FOLLOW_ruleRadioButton_in_ruleWidget384);
                    this_RadioButton_1=ruleRadioButton();

                    state._fsp--;


                    		current.merge(this_RadioButton_1);
                        
                     
                            afterParserOrEnumRuleCall();
                        

                    }
                    break;

            }


            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleWidget"


    // $ANTLR start "entryRuleCheckbox"
    // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:211:1: entryRuleCheckbox returns [String current=null] : iv_ruleCheckbox= ruleCheckbox EOF ;
    public final String entryRuleCheckbox() throws RecognitionException {
        String current = null;

        AntlrDatatypeRuleToken iv_ruleCheckbox = null;


        try {
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:212:2: (iv_ruleCheckbox= ruleCheckbox EOF )
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:213:2: iv_ruleCheckbox= ruleCheckbox EOF
            {
             newCompositeNode(grammarAccess.getCheckboxRule()); 
            pushFollow(FOLLOW_ruleCheckbox_in_entryRuleCheckbox430);
            iv_ruleCheckbox=ruleCheckbox();

            state._fsp--;

             current =iv_ruleCheckbox.getText(); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCheckbox441); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleCheckbox"


    // $ANTLR start "ruleCheckbox"
    // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:220:1: ruleCheckbox returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'checkbox' ;
    public final AntlrDatatypeRuleToken ruleCheckbox() throws RecognitionException {
        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();

        Token kw=null;

         enterRule(); 
            
        try {
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:223:28: (kw= 'checkbox' )
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:225:2: kw= 'checkbox'
            {
            kw=(Token)match(input,12,FOLLOW_12_in_ruleCheckbox478); 

                    current.merge(kw);
                    newLeafNode(kw, grammarAccess.getCheckboxAccess().getCheckboxKeyword()); 
                

            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleCheckbox"


    // $ANTLR start "entryRuleRadioButton"
    // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:238:1: entryRuleRadioButton returns [String current=null] : iv_ruleRadioButton= ruleRadioButton EOF ;
    public final String entryRuleRadioButton() throws RecognitionException {
        String current = null;

        AntlrDatatypeRuleToken iv_ruleRadioButton = null;


        try {
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:239:2: (iv_ruleRadioButton= ruleRadioButton EOF )
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:240:2: iv_ruleRadioButton= ruleRadioButton EOF
            {
             newCompositeNode(grammarAccess.getRadioButtonRule()); 
            pushFollow(FOLLOW_ruleRadioButton_in_entryRuleRadioButton518);
            iv_ruleRadioButton=ruleRadioButton();

            state._fsp--;

             current =iv_ruleRadioButton.getText(); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRadioButton529); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "entryRuleRadioButton"


    // $ANTLR start "ruleRadioButton"
    // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:247:1: ruleRadioButton returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'radiobutton' ;
    public final AntlrDatatypeRuleToken ruleRadioButton() throws RecognitionException {
        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();

        Token kw=null;

         enterRule(); 
            
        try {
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:250:28: (kw= 'radiobutton' )
            // ../fr.esir.imse.mapping/src-gen/fr/esir/imse/mapping/parser/antlr/internal/InternalMappingDSL.g:252:2: kw= 'radiobutton'
            {
            kw=(Token)match(input,13,FOLLOW_13_in_ruleRadioButton566); 

                    current.merge(kw);
                    newLeafNode(kw, grammarAccess.getRadioButtonAccess().getRadiobuttonKeyword()); 
                

            }

             leaveRule(); 
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end "ruleRadioButton"

    // Delegated rules


 

    public static final BitSet FOLLOW_ruleMapping_in_entryRuleMapping75 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMapping85 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleQuestion_in_ruleMapping130 = new BitSet(new long[]{0x0000000000000012L});
    public static final BitSet FOLLOW_ruleQuestion_in_entryRuleQuestion166 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleQuestion176 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleQuestion218 = new BitSet(new long[]{0x0000000000000800L});
    public static final BitSet FOLLOW_11_in_ruleQuestion235 = new BitSet(new long[]{0x0000000000003000L});
    public static final BitSet FOLLOW_ruleWidget_in_ruleQuestion256 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleWidget_in_entryRuleWidget293 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleWidget304 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCheckbox_in_ruleWidget351 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRadioButton_in_ruleWidget384 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCheckbox_in_entryRuleCheckbox430 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCheckbox441 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_ruleCheckbox478 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRadioButton_in_entryRuleRadioButton518 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRadioButton529 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_ruleRadioButton566 = new BitSet(new long[]{0x0000000000000002L});

}